正则小应用:批量修改文件名 |
您所在的位置:网站首页 › shell 修改文件名 › 正则小应用:批量修改文件名 |
最近接手了一个新项目,设计师给了很多图片,比如其中一个文件夹是: 因为名字是中文的,所以是不能直接扔到项目里的。 因此一个需求就冒了出来,如何批量修改文件名? 我最开始想到的是使用cmd,比如for + ren等。试了几下,最后没能满足我的需求。 其实,简单的shell命令,还可以百度下,更多的我就不懂了。 我的需求是什么呢? 【拔萝卜-1.png】=>【baluobo01.png】 后来突然想到,我为啥不用用node? 其实个人没有在项目里用它的经验。但百度一下相关API,尝试一下,没想到几分钟就搞定了! 代码如下(rename.js): let fs = require('fs') let files = fs.readdirSync('./') files.forEach(v => { if (/(\d+\.jpg)/.test(v)) { fs.rename(v, 'baluobo' + RegExp.$1.padStart(6, '0'), () => {}) } })下面是我录的效果: 最后看一下正则那块儿: /(\d+\.jpg)/.test(v)当 v 是 "拔萝卜-1.png" 时,正则里括号捕捉的,即RegExp.$1,是 "1.png",后面再用 "0" 补齐成6个字符串。 代码相对,很简单,如果不清楚,欢迎看正则表达式括号的作用。 正则又一次帮到了我。 本文完。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |